00764d0ae176b2a9e0395f46cd1ec926767d62e5,compiler/backend/src/org/jetbrains/jet/codegen/inline/LambdaTransformer.java,LambdaTransformer,doTransform,#ConstructorInvocation#,111

Before Change


                remapper = new RegeneratedLambdaFieldRemapper(oldLambdaType.getInternalName(), newLambdaType.getInternalName(), parameters, invocation.getCapturedLambdasToInline());
        MethodInliner inliner = new MethodInliner(invoke, parameters, info.subInline(info.nameGenerator.subGenerator("lambda")), oldLambdaType,
                                                  remapper, isSameModule);
        inliner.doInline(invokeVisitor, new VarRemapper.ParamRemapper(parameters, 0), remapper, false);
        invokeVisitor.visitMaxs(-1, -1);

        generateConstructorAndFields(classBuilder, builder, invocation);

After Change


                remapper = new RegeneratedLambdaFieldRemapper(oldLambdaType.getInternalName(), newLambdaType.getInternalName(), parameters, invocation.getCapturedLambdasToInline());
        MethodInliner inliner = new MethodInliner(invoke, parameters, info.subInline(info.nameGenerator.subGenerator("lambda")), oldLambdaType,
                                                  remapper, isSameModule);
        InlineResult result = inliner.doInline(invokeVisitor, new VarRemapper.ParamRemapper(parameters, 0), remapper, false);
        invokeVisitor.visitMaxs(-1, -1);

        generateConstructorAndFields(classBuilder, builder, invocation);

        if (bridge != null) {
            MethodVisitor invokeBridge = newMethod(classBuilder, bridge);
            bridge.accept(new MethodVisitor(ASM4, invokeBridge) {
                @Override
                public void visitMethodInsn(int opcode, String owner, String name, String desc) {
                    if (owner.equals(oldLambdaType.getInternalName())) {
                        super.visitMethodInsn(opcode, newLambdaType.getInternalName(), name, desc);
                    } else {
                        super.visitMethodInsn(opcode, owner, name, desc);
                    }
                }
            });
        }

        classBuilder.done();

        invocation.setNewLambdaType(newLambdaType);
        return result;
    }

    private void generateConstructorAndFields(@NotNull ClassBuilder classBuilder, @NotNull ParametersBuilder builder, @NotNull ConstructorInvocation invocation) {